Deterministic Method for efficiently querying and identifying multiple items on a communication channel

ABSTRACT

Methods for efficiently querying and identifying multiple items on a communication channel are disclosed. The methods preferably use radio frequency identification with interrogation devices and systems that identify radio frequency identification transponders. A depth-first tree traversal protocol algorithm, including commands and symbols, preferably is used to more efficiently interrogate a plurality of transponders in a short amount of time. The communication channel may be an RFID communication channel or a wired communication channel. The time required to obtain the identification numbers of the objects may be made deterministic. The objects to be identified may be clothing, luggage, furniture, computers, parcels, vehicles, warehouse inventory, components on an assembly line or documents.

This application is a continuation of U.S. application Ser. No.12/802,795, filed Jun. 14, 2010, now U.S. Pat. No. 8,248,213, which is acontinuation of U.S. application Ser. No. 11/978,987, filed Oct. 29,2007, now U.S. Pat. No. 7,737,823, which is a continuation of U.S.application Ser. No. 10/915,651, filed Aug. 9, 2004, now U.S. Pat. No.7,289,015, which is a continuation of U.S. application Ser. No.09/625,184, filed Jul. 21, 2000, now U.S. Pat. No. 6,774,766, all ofwhich are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to devices and systems for efficientlyquerying and identifying multiple items on a communication channelpreferably using radio frequency identification, and more particularlyto interrogation devices and systems that identify radio frequencyidentification transponders.

BACKGROUND OF THE INVENTION

Radio Frequency Identification (RFID) is a technology that is used tolocate, identify and track many different types of items, such asclothing, laundry, luggage, furniture, computers, parcels, vehicles,warehouse inventory, components on assembly lines, and documents. RFDtransponders, such as illustrated by RFID tags 6 in FIG. 1, are used inmuch the same way as optical bar codes, identifying the item to whichthey are affixed as being a particular individual or as being part ofspecific group. Unlike bar codes, RFID transponders can be read evenwhen they cannot be seen, and hence a “direct line of sight” fortransmitted RF energy 4 and reflected RF energy 8 is not requiredbetween interrogation device 2 and the transponder. Furthermore, theidentification numbers of a multiplicity of transponders 6 can be readvirtually simultaneously, with little or no effort on the part of theuser to “aim” the interrogation device at each and every transponder.Some RFID transponders can store information in addition to that usedfor identification. This additional information may also bere-programmable by the user. Information within the transponder istypically accessed by a process variously referred to in the art as“scanning,” “reading,” or “interrogating.”

RFID transponders are typically interrogated by a radio transceiver withsome added intelligence to enable it to send and receive data inaccordance with a communication protocol designed into the transponder.When interrogating one or more transponders, the transceiver transmitsRF energy 4 to the transponder, and encodes information on the outgoingsignal by modulating the amplitude, phase and/or frequency of thesignal. The RFID transponder can receive this signal and interpret theinformation sent by the interrogating device, and may also then respondby sending information contained in reflected RF energy 8 back to theinterrogating device.

RFID transponders are often classified as either active or passive. Anactive transponder is continuously powered by a battery or alternatepower source. In contrast, a passive transponder obtains its power fromthe RF field imposed upon it by an RFID transponder interrogationdevice. A passive RFID transponder, therefore, must remain close enoughphysically to the interrogating device to obtain adequate power tooperate its circuits. Typically, the range for a passive transponderwill be less than that of an active transponder, given that theinterrogating device is transmitting the same amount of RF power at thesame frequency for both types of transponders.

RFID transponders may be constructed from discrete components on acircuit board or they may be fabricated on a single silicon die, usingintegrated circuit (IC) techniques and needing only the addition of anantenna to function. Transponders are generally designed to operate inone of a number of different frequency bands. Popular frequencies arecentered around 125 kHz, 13.56 MHz, 915 MHz and 2.45 GHz. Theseparticular frequencies are chosen primarily because regulations in manycountries permit unlicensed operation in these bands, and the permittedtransmission power levels are suitable for communicating with and/orproviding power to the RFID transponders. Transponders operating atlower frequencies (e.g. 125 kHz and 13.56 MHz) generally require largerantennas, and typically employ inductive coupling via multiple-turncoils to achieve a small antenna size. High frequency transponderstypically utilize electric field coupling via simple half-wavelengthdipole antennas. For example, 2.45 GHz transponders can use simplepaper-thin, printed-conductor antennas as small as 60 mm by 5 mm. Incontrast, 125 kHz transponders typically use a coil antenna, usuallyeither made of many loops of wire or of a foil spiral affixed to asubstrate material. In low frequency transponders, both coils andprinted spirals must be quite large in order to achieve an appreciableoperating range. Examples of such transponders may be found in U.S. Pat.Nos. 4,654,658 and 4,730,188.

RFID transponders are typically identified by a number contained withina memory structure within each transponder. This memory structure may beprogrammed in a variety of ways, depending on the technology used toimplement the memory structure. Some transponders may employfactory-programmable metal links to encode the ID. Others may employone-time-programmable (OTP) methods, which allow the end user to programthe ID. This is often referred to as Write Once, Read Many (WORM)technology, or as Programmable Read Only Memory (PROM). Both fusiblelinks and anti-fuse technologies are used to implement this method ofstorage. Still other technologies allow the user to program andre-program the ID many times. Electrically Erasable Programmable ReadOnly Memory (EEPROM) and FLASH memory are examples of technologies thatcan be used to implement this type of access. The transponder ID numberis typically stored in a binary format for ease of implementation,though other representations could be used.

When multiple RFID transponders are within range of the interrogatingdevice, it is typically desired to be able to identify all of thetransponders in the field. Once the transponders have been identified,their presence may be noted in a computer database. Followingidentification, each of the transponders may also be addressedindividually to perform additional functions, such as the storing orretrieving of auxiliary data.

The ability of the system to efficiently identify the presence of amultiplicity of transponders is highly dependent upon the communicationsprotocol used to interrogate the transponders. Among those familiar withthe art, a protocol suitable for allowing multiple transponders torespond to an interrogation request is typically referred to as an“anti-collision protocol.” The process of singling out one transponderfor communication is typically referred to as the process of“isolation.”

Most anti-collision protocols communicate between an interrogationdevice and RFID transponders present in an RF field have relied uponpseudo-random number (PN) generators. PN generators are typically usedto vary the time during which the transponders may respond, so as toeventually allow a response from each transponder to reach theinterrogation device without colliding destructively with the responsefrom another transponder. Examples of such protocols can be found inU.S. Pat. Nos. 5,537,105, 5,550,547, and 5,986,570.

A drawback of using PN generators is that it is difficult to predict thetime required to identify all of the transponders in the field, giventhat a certain number of transponders are in the field; hence, the timerequired is non-deterministic, even when the identities of thetransponders being read are known. The use of random or pseudo-randomintervals also necessitates the use of large time gaps betweentransponder transmissions to decrease the likelihood of collisionbetween the transponder transmissions. This slows down the transpondercommunication process and drastically decreases the number oftransponders that can be identified during a given amount of time.Previous anti-collision protocols utilizing PN generators have claimedto have the ability to achieve sustained read rates of up toapproximately 80 transponders per second. Some protocols can read asingle transponder in as little as 1 ms, but as the number oftransponders in the field multiplies, PN generator-based protocolsdecline in performance, significantly increasing the average per-tagread time required.

Non-PN generator-based protocols known to be available are described inU.S. Pat. Nos. 5,339,073 and 5,856,788. The methods described in thesepatents interrogate the identification in a bit-by-bit fashion. Thesemethods allow many transponders to reply to an interrogationsimultaneously, but in a way that the interrogation device can stilldetermine whether or not at least one transponder responded.

The protocol described in U.S. Pat. No. 5,856,788 is similar to aprotocol used to uniquely identify and automatically configure expansioncards presently common in personal computers (PCs) employing theIndustry Standard Architecture (ISA) expansion bus (as described in the“Plug and Play (PNP) ISA Specification” by Intel and Microsoft). Theprotocol described in U.S. Pat. No. 5,856,788 and the ISA PNP protocolare designed to interrogate a unique identification number in abit-by-bit fashion. The interrogated device, which may be a transponderor a PC expansion card, responds to a request for a specific bit byreturning a symbol for a logic one, if the respective bit is of aspecific predetermined value (usually one). If the respective bit in thedevice is not of the specific predetermined value, no response isreturned. Responses are designed such that many devices may respondsimultaneously without interfering with one another. If a response isreceived, the interrogating device may then conclude that at least onedevice exists containing the predetermined value in the requested bitlocation. After receiving a response, the interrogation device will thencommand all transponders that did not respond to enter an idle state. Ifno response is received, the interrogation device must assume that atransponder with a zero in the bit position just interrogated may bepresent, and the next bit is then interrogated. This process is repeatedfor the remaining bits until a single transponder remains in a non-idlestate. This transponder is then said to be isolated.

When no response is received by the interrogation device for any givenbit being interrogated, the interrogation device cannot determinewhether the lack of a response was due to the presence of a tag with azero in the bit position just interrogated or to the complete absence oftags which are able to respond.

Hence, both the protocol described in U.S. Pat. No. 5,856,788 and thatused by ISA PNP terminate once the reception of an ID number whichconsists of all zero-valued bits is detected. Any time an identificationprocess is commenced, this “phantom” transponder ID number must alwaysbe read in order to terminate the identification process. Furthermore,should a transponder suddenly be removed from the communication mediumduring an interrogation, the interrogating device would thenmisinterpret the lack of responses during the remainder of theinterrogation as being indicative of a value of zero for the remainingbits. Further verification must be performed to assure that the IDreceived is correct. This is obviously undesirable, and adds unnecessaryoverhead to the protocol. This method also does not lend itself well toapplications utilizing ID numbers stored in non-binary formats.

The method described U.S. Pat. No. 5,339,073 is similar to thatdescribed in U.S. Pat. No. 5,856,788, but provides a time slot for eachpossible value in each field being interrogated. Each field can beconsidered to contain a single digit of the ID number of thetransponder. For binary-valued fields, two time slots are provided. Theprovision of a response for all possible field values accommodatesnon-binary ID storage, and eliminates the necessity of reading anall-zero ID number as in the method of U.S. Pat. No. 5,856,788. Thismethod requires that the sequence of field values, which led up to aninterrogation resulting in transponders responding, be recorded andlater retransmitted in order to select specific groups of transpondersfor further interrogation. This process is repeated until the ID numberof each transponder has been completely determined. The retransmissionprocess adds unnecessary overhead to the identification process.

A system for locating documents or other objects is disclosed in U.S.Pat. No. 5,936,527. The invention disclosed herein was designed for, andhence is well suited for application in such a system, as it providesfor the rapid interrogation of large numbers of transponders in a shortperiod of time.

A typical RFID interrogation device (which may be used with the presentinvention) is shown in FIG. 2, wherein circulator 12 sends apredetermined series of transmissions and a typical RFID transponder 6(see FIG. 3) receives the transmission at antenna 28, which is coupledto receive circuit 32. The reception of RF energy, as illustrated inFIG. 3, also may be used to generate power via power generator 30, whichsupplies power for activating receive circuit 32, control circuit 36, IDmemory 38, and transmit circuit 34 (i.e., the components oftransponder/tag 6). ID memory 38 stores identification data, whilecontrol circuit 36 keeps track of the transmissions received andcontrols transmit circuit 34 to respond to a transmission when required,which may be based on a comparison with identification data stored in IDmemory 38, etc.

As illustrated in FIG. 2, antenna 10 receives transponder replytransmission 8, which is coupled to band pass filter 14 in interrogationdevice 2. The filtered, received signal is demodulated and detected bycontrol microprocessor 20 via receive down-converter 16 and demodulationcircuit 18. Microprocessor 20 controls phase locked loop 22, whichprovides a carrier signal to down-converter 16 and modulator 24. Controlmicroprocessor 20 provides the next transmission data to modulator 24that is amplified by power amplifier 26 and coupled to circulator 12 tobegin the interrogation response cycle anew.

The circuits described in connection with FIGS. 2 and 3 should beconsidered exemplary, and other general RF transceiver circuits also areknown in the art. What distinguishes the present invention from knownsystems and methods, however, is the protocol, specifically the mannerin which the interrogating system transmits interrogating signals to thetransponder and the manner in which the transponder transmits replysignals back to the interrogating system. The language of the protocolis illustrated in timing diagrams in FIGS. 4 and 5, while the protocolfor the interrogating system and the transponder is illustrated inflowcharts in FIGS. 6 and 7, respectively.

SUMMARY OF THE INVENTION

In accordance with the present invention, improved protocols and methodsare provided for an interrogation device (hereafter “interrogatingsystem”) to identify RFID transponders faster than conventional methods,thus allowing for increased scanning speed.

In a preferred embodiment of the present invention, a protocol isprovided that may be used in conjunction with a passive RFID transpondermade to operate in the 915 MHz and/or 2.45 GHz bands. This type of highfrequency transponder typically consists of a small silicon die withreceiving and transmitting circuitry, and a printed antenna bonded tothe die, both of which are sandwiched between small pieces of plasticfilm, which protect the die and antenna. The interrogating systemcommunicates with the RFID transponder by modulating the amplitude ofthe transmitted RF signal at specific time intervals. In a preferredembodiment, the modulation is effected by sharply attenuating thetransmitted RF signal. The transponder communicates with theinterrogating system by shorting its antenna at certain intervals inresponse to the RF attenuation. By shorting its antenna, the transpondercauses a reflection, which in turn produces a disturbance in the fieldbeing radiated by the interrogating system. This is referred to in theart as “backscatter” modulation.

The present invention provides a method for reading RFID transponders,which is not only faster than current conventional methods but isdeterministic given a set of transponders to be read. These featuresallow one to determine exactly how much time is required to read a givennumber of transponders with known identities; they also allow one toarrive at mathematical expressions for upper and lower bounds for thetime required to read a given number of transponders whose identitiesare unknown. Since random number generators are not used, the onlyrandom elements of the transponder-reading process are introduced by thefact that the transponder identities are not typically known a priori,and by the random nature of the RF communications channel, which issubject to range limitations and interference.

One of ordinary skill in the art should recognize that the protocolcould also be applied over a wired communications channel, such as acomputer bus or a computer network, to query the identities of objectsconnected to the communication channel medium. Error rates on wiredchannels are often low enough to be ignored, leaving only the unknownobject identities to impose a random nature on the time required for theprotocol to identify all objects on the channel.

In the field of RFID, it is often important to be able to read the IDnumbers of a multiplicity of transponders as quickly as possible. Inparticular, for applications in which many transponders pass in front ofa stationary reader, or in which the reader must pass over manystationary transponders, the speed with which transponders can be readand identified is a critical performance parameter. Clearly, the moreitems that can be processed per unit time, the more useful the systembecomes. Applications such as document tracking, asset tracking, andluggage and parcel sorting may all benefit greatly from an increase inscanning speed. Thus, the present invention may serve to further enhancethe value of distributed interrogation systems, such as the typedescribed in the aforementioned U.S. Pat. No. 5,936,527.

The present invention uses an adaptation of a tree traversal algorithmto identify all transponders in the RF field. In the nomenclature ofthose skilled in the art of computer science, the algorithm can bereferred to as a “depth-first” tree traversal. This type of algorithm isin contrast with a “breadth-first” tree traversal. The present inventionoffers an improvement over the method of U.S. Pat. No. 5,856,788, inthat it provides a response for all objects being identified, regardlessof the value of the bit being interrogated; it provides a novelimprovement over the method of U.S. Pat. No. 5,339,073, which uses abreadth-first approach, in that it eliminates the need to retransmitmost of the sequences of field values in the course of the interrogationprocess.

It should be apparent to one skilled in the art that the inventionherein described is applicable to other applications and fields in whichan unknown number of items may be present on a communication channel,and for which a need exists to uniquely query and identify each of theitems present. The invention may be implemented on a communicationschannel which may be wired, or which uses wireless communication in theform of radio frequency, optical, or acoustic signals.

Accordingly, one object of the present invention is to provide improvedsystems and methods for reading RED-type transponders that are fasterthan previous methods.

Another object is to provide systems and methods for reading RFID-typetransponders that are deterministic given a set of transponders to beread.

A further object of the present invention is to provide improved systemsand methods that perform the rapid interrogation of large numbers ofRFID-type transponders in a short period of time.

Yet another object is to substantially increase scanning speed forRFID-type transponders.

Still another object is to allow many RFID-type transponders to reply toan interrogation simultaneously and provide a response for all objectsbeing identified, regardless of the value of the bit being interrogated.

Another object of the present invention is to eliminate the need toretransmit most of the sequences of field values in the course of theinterrogation process.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be more fully understood by a description ofcertain preferred embodiments in conjunction with the attached drawings,in which:

FIG. 1 is a block diagram for a typical RFID system;

FIG. 2 is a block diagram for a typical passive RFID transponder;

FIG. 3 is a block diagram for a typical RFID interrogation system;

FIG. 4 is a timing diagram that illustrates the symbolic alphabet usedby an interrogation system in accordance with preferred embodiments tocommunicate with the transponder;

FIG. 5 is a timing diagram that illustrates the symbolic alphabet usedby the transponder in accordance with preferred embodiments tocommunicate with the interrogating system;

FIG. 6 is a flow chart of a representative algorithm for implementing apreferred embodiment of the present invention, as it pertains to aninterrogating system;

FIG. 7 is a flow chart of a representative algorithm for implementingthe a preferred embodiment of the present invention, as it pertains to atransponder device; and

FIG. 8 represents a binary tree for illustrating the operation of thetransponder protocol in a binary case embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will be described in greater detail with referenceto certain preferred embodiments and certain other embodiments, whichmay serve to further the understanding of preferred embodiments of thepresent invention. As described elsewhere herein, various refinementsand substitutions of the various embodiments are possible based on theprinciples and teachings herein.

For simplicity, it is assumed in the preferred embodiments that thefields of the IDs being interrogated are binary valued. It should beunderstood that the present invention is not intended to be limited tosuch binary valued implementations.

The preferred embodiment provides for the transponder to be in one oftwo modes: a MATCH mode and a READ mode. The MATCH mode is the defaultmode, wherein the transponder will only send data back to theinterrogating system if the transponder detects that the interrogatingsystem has sent out an ID number which matches the ID number in thetransponder. In the READ mode, the transponder will serially shift outthe bits of its ID number in response to commands from the interrogatingsystem. The transponder can be placed into this mode through the use ofa special command called the “CHANGE1” command.

In the description of the protocol operation, it is assumed herein thatthe ID number is stored in a binary format and the first bit read fromthe transponders will always be the most significant bit (MSB) of the IDnumber. With this assumption of the bit order, the protocol of thepresent invention uniquely identifies the transponders in descendingorder according to their binary ID numbers. Once a transponder has beenuniquely identified, it will return to an idle mode awaiting a RESETcommand before it can be read again.

The timing diagrams of FIG. 4 provide a graphical representation of apreferred embodiment of the command and data symbols used to transmitdata from the interrogating system to the RFID transponders. Data isencoded using a form of pulse position modulation (PPM). To communicatewith the transponder, the following command and data symbols preferablyare implemented.

Timing diagram 42 illustrates the RESET command. The transpondersperform a RESET operation after they sense a specific duration ofconstant RF illumination from the interrogating system. This durationmust be longer than the maximum duration of continuous RF illuminationencountered during the execution of the remainder of the protocol. Inthe preferred embodiment, this duration is 28 microseconds (μs).

Timing diagram 44 illustrates the SYNC command. The first pulse receivedfollowing the RESET period is considered to be a SYNC command. The SYNCcommand tells the RFID transponder that communication to thetransponders is beginning. In the preferred embodiment, the SYNC pulsehas a duration of 1 μs, and is a period during which the RF illuminationof the transponders is heavily attenuated by the interrogating system.

Timing diagram 46 illustrates the symbol for a value of ZERO for asingle binary digit. In the preferred embodiment, this symbol iscomposed of 3 μs of RF illumination, followed by 1 μs during which theRF illumination is attenuated, and another 4 μs of RF illumination.

Timing diagram 48 illustrates the symbol for a value of ONE for a singlebinary digit. In the preferred embodiment, this symbol is composed of 7μs of RF illumination, followed by 1 μs during which the RF illuminationis attenuated.

Timing diagram 50 illustrates the READ command. The READ command directsthe transponder to send out one bit of its ID number. After transmittingthe bit, the transponder increments its internal memory pointer andawaits further commands from the interrogating system. In the preferredembodiment, this command consists of 1 μs during which the RFillumination is attenuated, followed by a period of continuous RFillumination (which must be less than the RESET's duration) during whichthe transponder may communicate with the interrogating system byshorting its antenna for brief intervals. In the preferred embodiment,after a RESET command, the READ command cannot be issued until a CHANGE1command is issued.

Timing diagram 52 illustrates the MATCH command. The MATCH commanddirects the transponder to send out a MATCH acknowledgement symbol ifthe transponder's ID bits match those sent by the interrogating systemsince the last RESET command was issued. In the preferred embodiment,this symbol is identical to the READ symbol, but is differentiated fromthe READ command by the fact that no change commands are sent betweenthe RESET command and the MATCH command. Furthermore, the MATCH commandcan be received only after the correct number of bits has been receivedfrom the interrogating system.

Timing diagram 54 illustrates the CHANGE1 command. The CHANGE1 commanddirects the transponder to switch into the READ mode. In the preferredembodiment, this symbol is composed of 3 μs of RF illumination, followedby 1 μs during which the RF illumination is attenuated, followed byanother 3 μs of RF illumination, followed by another 1 μs during whichthe RF illumination is attenuated. This command also has the same effectas a READ command, in that it causes the transponder to send out one bitof its ID number.

Timing diagram 56 illustrates the CHANGE2 command. The CHANGE2 commanddirects the transponder to go into a sleep state if the last READcommand issued to the transponder caused the transponder to send a zeroto the interrogating system. This command is typically issued when botha ONE and a ZERO symbol are transmitted back from the transponder inresponse to a READ command. This symbol is composed of a period of 3 μsof continuous RF illumination, followed by 1 μs during which the RFillumination is attenuated.

The timing diagrams of FIG. 5 provide a graphical representation of apreferred embodiment of the communication symbols used to transmit datafrom the RFID transponders to the interrogating system. In accordancewith preferred embodiments, the RFID transponder communicates with theinterrogating system by shorting its antenna during periods when theinterrogating system is transmitting a continuous level of RFillumination. By shorting its antenna, the transponder creates areflection of RF energy that the interrogating system can detect. TheRFID transponder's alphabet of communication symbols preferably includethe following symbols.

Timing diagram 58 illustrates the symbol for a ZERO value, whichrepresents a binary zero contained in the RFID transponder's ID number.In the preferred embodiment, this symbol consists of a waiting period of4 μs after the last sync pulse received from interrogator followed by a2 μs period during which the transponder shorts its antenna, followed bya 4 μs period during which the transponder again waits. This symbol willonly be sent immediately after RF illumination is resumed following aREAD, CHANGE1, or CHANGE2 command from the interrogating system.

Timing diagram 60 illustrates the symbol for a ONE value, whichrepresents a binary one contained in the RFID transponder's ID number.In the preferred embodiment, this symbol consists of a waiting period of8 μs after the last sync pulse received from interrogator followed by a2 μs period during which the transponder shorts its antenna. This symbolwill only be sent immediately after RF illumination is resumed followinga READ, CHANGE1, or CHANGE2 command from the interrogating system.

Timing diagram 62 illustrates the MATCH symbol. A MATCH symbol consistsof a waiting period of 6 μs followed by a 2 μs period during which thetransponder shorts its antenna, followed by a 2 μs period during whichthe transponder again waits. This symbol will only be sent immediatelyafter RF illumination is resumed following a MATCH command from theinterrogating system, and only if the RFID's transponder ID matches thenumber transmitted by the interrogating system. The MATCH symbol will berepeated as long as the interrogating system continues to sendsuccessive MATCH commands.

FIG. 6 illustrates a preferred algorithm performed by the interrogatingsystem to read multiple transponders. The algorithm preferably makes useof an abstract data structure known as a stack. Data is added to thestack in a “push” operation. A “pop” operation will remove the last“pushed” data element, and return the data “popped.” “K” represents thenumber of ID bits that form the unique ID of the transponder.

In the preferred embodiment, at step 64 the interrogating systeminitializes the isolated transponder stack and proceeds to step 66. Atstep 66, the system initializes the non-isolated transponder stack andproceeds to step 68. At step 68, the interrogating system initializesthe current bit string buffer and proceeds to step 70. At step 70, thesystem transmits a constant level of RF power for the duration of theRESET period and proceeds to step 72. At step 72, the interrogatingsystem transmits a SYNC command and proceeds to step 74. At step 74, thesystem transmits a CHANGE1 command and continues to step 76.

At step 76, the interrogating system waits to receive a bit from the RFtransponder; if no bit is detected, then the system proceeds to step 78;if a bit is detected, then the system proceeds to step 80. At step 78,the interrogating system stops because the algorithm is completed andthe isolated transponder stack contains the identified transponder IDs.At step 80, the interrogating system determines whether both a one and azero were detected; if both a one and a zero are present, then thesystem continues to step 88; if not, then the system proceeds to step82. At step 82, the interrogating system records the bit received byappending it to the bit string buffer, and proceeds to step 84. At step84, the system determines if the length of the bit string equal to Kbits; if this criterion applies, then the system proceeds to step 104;if this criterion does not apply, then the system proceeds to step 86.At step 86, the interrogating system transmits a READ command andreturns to step 76.

At step 80, if the interrogating system detects both a one and a zero,then it proceeds to step 88. At step 88, the system creates a copy ofthe current bit string and continues to step 90, where it appends a zeroto the newly created copy of the bit string. The system then proceeds tostep 92. At step 92, the interrogating system determines if the lengthof the newly created bit string is equal to K bits; if this criterionapplies, then the system proceeds to step 94; if this criterion does notapply, then the system proceeds to step 96. At step 94, theinterrogating system pushes the new bit string to the isolatedtransponder stack and continues to step 98. At step 96, the systempushes the new bit string to the non-isolated transponder stack andproceeds to step 98. At step 98, the interrogating system records a oneas the bit received by appending it to the bit string buffer, andcontinues to step 100. At step 100, the interrogating system determinesif the length of the bit string is equal to K bits again; if thiscriterion now applies, then the system proceeds to step 104; if thiscriterion does not apply, then the system proceeds to step 102, where ittransmits a CHANGE2 command, and returns to step 76.

At step 104, assuming the length of the bit string is equal to K bits,the system pushes the current bit string to the isolated transponderstack, and continues to step 106. At step 106, the system initializesthe current bit string buffer and proceeds to step 108. At step 108, thesystem determines if the non-isolated transponder stack is empty; ifthis criterion applies, then the system proceeds to step 78, where thesystem stops and the algorithm is completed; however, if this criteriondoes not apply, then the system proceeds to step 110. At step 110, theinterrogating system pops the last entry from the non-isolated stack,and continues to step 112. At step 112, the system transmits a constantlevel of RF power for the duration of the RESET period, and proceeds tostep 114. At step 114, the system transmits a SYNC signal, and continuesto step 116. At step 116, the system transmits the bits in the poppedbit string, and returns to step 74.

FIG. 7 illustrates an algorithm that may be performed by each of theplurality of RFID transponders. Again, “K” represents the number of IDbits that form the unique ID of the transponder. It should be noted thatit is implicit that the transponder will return to step 118 if at anytime the RF illumination is not sufficient to keep the internal voltageat a satisfactory level, as discussed in greater detail below.

At step 118, the transponder device determines if the internal voltagelevel exceeds the voltage minimum (Vmin). If the internal voltage levelis greater than Vmin, then the transponder device proceeds to step 120.However, if the internal voltage level is less than Vmin, then thedevice returns to step 118. (If at any time the RF illumination is notsufficient to keep the internal voltage at a satisfactory level, thedevice will return to step 118. This condition may be caused by movementof the transponder, movement of the interrogating system, and/or achange in the level of power being transmitted by the interrogatingsystem.) At step 120, the transponder device determines if the RFillumination has been detected for a period equal to or greater than theRESET period. If this criterion applies, then the device continues tostep 122; if this criterion does not apply, then the device repeats step120.

At step 122, the transponder device resets the internal ID bit counterand proceeds to step 124, where it is determined if the SYNC command isdetected; if this applies, then the device continues to step 126; ifthis criterion does not apply, then the device repeats step 124. At step126, it is determined if the CHANGE1 command is detected; if thiscriterion applies, then the device proceeds to step 128; if this doesnot apply, then the device proceeds to step 140. At step 128, the devicetransmits the ID bit to the ID bit counter, and continues to step 130.At step 130, the device adds one to the ID bit counter, and proceeds tostep 132. At step 132, the device determines if K bits have beentransmitted; if this criterion applies, then the device returns to step120; if this does not apply, then the device proceeds to step 134. Atstep 134, the device determines if the CHANGE2 command is detected; ifthis applies, then the device continues to step 136; if it does notapply, then the device proceeds to step 138. At step 136, the devicedetermines if the last bit transmitted is equal to zero; if thisapplies, then the device proceeds to step 120; if this criterion doesnot apply, then device returns to step 128. At step 138, the devicedetermines if the READ command is detected; if this criterion applies,then the device returns to step 128; if it does not apply, then thedevice proceeds to step 120.

At step 140, the transponder device determines if a ZERO or ONE isdetected; if so, then the device proceeds to step 142; if not, then thedevice returns to step 120. At step 142, the device determines if thebit detected matches the bit in this transponder's ID number that ispointed to by the current ID bit pointer; if so, then the deviceproceeds to step 144; if not, then the device returns to step 120. Atstep 144, the device adds one to the ID bit pointer and continues tostep 146. At step 146, the device if the ID bit pointer equals K; if so,then the device proceeds to step 148; if not, then the device returns tostep 140. At step 148, the device issues a MATCH command and proceeds tostep 150.

At step 150, the device determines if the READ or RESET commands aredetected; if the READ command is detected, then the device returns tostep 148; if the RESET period has elapsed, then the device returns tostep 122 to initialize an ID bit counter. If neither the READ nor RESETcommands are detected, then the device repeats step 150.

One skilled in the art should recognize that the present invention couldbe implemented using variations in the order and number of steps in thealgorithms in the interrogating system and in the transponder deviceswithout departing from the spirit of the invention.

In addition, the shapes and durations of the symbols used to implementthe invention are somewhat arbitrary, though the following relationshipsmust hold in the preferred embodiment. First, the RESET duration must begreater than the duration of all other periods of continuous RFillumination encountered in the protocol, either due to a single symbol,or due to the concatenation of two or more symbols. Second, all symbolsother than RESET must have a period of RF attenuation of a duration,which is sufficient to be detected by the RFID transponder. Third,CHANGE1 and CHANGE2 symbols must contain periods of RF attenuation,which occur before the end of either of the initial waiting periodscontained in the RFID transponder's ZERO and ONE symbols. One skilled inthe art also should recognize that the particular symbol shapes andsymbol timing could be altered to produce variations of the previouslydescribed protocol, which are equivalent in function, and which retainthe novel advantages of the protocol.

FIG. 8 is a diagram of a binary tree representing the search space of amethod in accordance with a preferred embodiment. The diagramillustrates an exemplary embodiment of the transponder identificationprocess. The dark arrows represent actual responses received wheninterrogating at the node from which the arrows originate. In theillustrative example for discussion purposes, the transponder ID numbersare binary and 3 bits in length. This will permit up to 2³=8 uniquetransponder ID numbers. One skilled in the art should recognize that theprotocol could easily be extended to work with ID numbers of any finitelength, and using any number system. For binary IDs of length K, therewill be 2^(K) unique transponder ID numbers. In the illustrativeexample, transponders with binary IDs of 110, 101, and 100 are assumedto be present in the field.

As illustrated in FIG. 8, the search begins at the top or root node ofthe tree. At each node, the branches emerging from the bottom of thenode represent the possible responses to an interrogation at that node.To start the transponder identification process, the interrogatingsystem begins transmitting constant RF illumination to the transponders.The constant illumination is maintained long enough for the transpondersto generate an internal voltage sufficient for powering thetransponders, and long enough for the transponders to complete anyinitialization process which may be necessary. This includes the timerequired for the RESET command to be detected in the preferredembodiment. After the RESET symbol is detected by the transponders, thetransponders will initialize their ID bit counters to point to the firstbit to be interrogated.

The interrogating system will then command the transponders to respondwith their first digit. This interrogation can be viewed as taking placeat the root node of the binary tree in FIG. 8. In the preferredembodiment, the interrogation system would send a SYNC symbol followedby a CHANGE1 symbol. The CHANGE1 symbol will cause all transponders torespond with the first digit of their ID numbers. Since all transpondershave a 1 as the MSB in this example, all transponders respond with a ONEsymbol. This indicates to the interrogation system that at least onetransponder is present in the field which contains a 1 as the firstdigit of its ID number. The interrogation system would then record thatthe current digit string is simply “1”. Each transponder will incrementits respective ID bit counter after transmitting its ID digit.

The interrogating system will then send a command to the transponders torequest that each transponder respond with its second digit. In thepreferred embodiment, this command would take the form of a READ symbol,and can be viewed as taking place on the leftmost node of level 2 inFIG. 8. The 110 transponder would respond with a ONE symbol, while the101 and 100 transponders would respond with ZERO symbols. Eachtransponder will increment its respective ID bit counter aftertransmitting its ID digit. The interrogating system would then concludethat at least two transponders are present in the field. It would thenrecord that the current digit string is “11”, and also record that thereis at least one transponder whose ID begins with “10” that needs to beisolated at a later time.

The interrogating system would then send a command to force alltransponders which responded with a digit which was not ONE to enter anidle state. This command would take the form of a CHANGE2 symbol in thepreferred embodiment. The CHANGE2 command simultaneously causes thosetransponders which responded with a ZERO to enter the idle state, andcauses those transponders which responded with a ONE to respond with thenext digit. This can be viewed as taking place at the leftmost node onlevel 3 of FIG. 8. At this point, only the 110 transponder will respond,and it will respond with a ZERO symbol. The interrogation system wouldthen record the 110 transponder ID as an isolated transponder.

The interrogation system then sends out a RESET command to initiate theread interrogation process again. A SYNC command is sent, followed by aONE and then a ZERO symbol to indicate to the transponders that itdesires to communicate with only those transponders whose IDs begin with“10”. The interrogation system then follows with a CHANGE1 symbol tocommand the transponders to respond with their final digit. This can beviewed as taking place at the node which is second from the left onlevel 3 of FIG. 8. The 100 transponder will respond with a ZERO symbol,and the 101 transponder will respond with a ONE symbol. Theinterrogating system then may conclude that there are at least twotransponders in the field with IDs beginning with “10.” Since IDs are inthis case only 3 bits long, the 101 and 100 transponders will then enteran idle state until the next RESET symbol is received. The interrogationsystem can also assume that, since the final bit was just interrogated,transponders with IDs 100 and 101 are present in the field. Theinterrogation system then adds 100 and 101 to the list of isolatedtransponder IDs.

At this point, the interrogation system may assume that all tags whichwere in the field at the beginning of the protocol execution have beenisolated. The interrogation system may then restart the protocol inorder to find additional tags which may have entered the field since thebeginning of the most recently completed interrogation process.

Although the invention has been described in conjunction with specificpreferred and other embodiments, it is evident that many substitutions,alternatives and variations will be apparent to those skilled in the artin light of the foregoing description. Accordingly, the invention isintended to embrace all of the alternatives and variations that fallwithin the spirit and scope of the appended claims. For example, itshould be understood that, in accordance with the various alternativeembodiments described herein, various systems, and uses and methodsbased on such systems, may be obtained. The various refinements andalternative and additional features also described may be combined toprovide additional advantageous combinations and the like in accordancewith the present invention. Also as will be understood by those skilledin the art based on the foregoing description, various aspects of thepreferred embodiments may be used in various subcombinations to achieveat least certain of the benefits and attributes described herein, andsuch subcombinations also are within the scope of the present invention.All such refinements, enhancements and further uses of the presentinvention are within the scope of the present invention.

What is claimed is:
 1. A method for identifying a plurality of objectsvia interrogation over a communication channel, wherein each object tobe identified includes an identification number having a plurality ofdigits, wherein each object has the ability to communicate at leasteither first or second responses to indicate a value of each of thedigits contained in its respective identification number and whereineach object is operative in response to a plurality of predeterminedcommands each characterized by a predetermined signal timing, the methodcomprising the steps of: (a) activating the plurality of objects; (b)interrogating a single digit of the identification number from eachcurrently activated object, wherein each of the plurality of objectscommunicates either the first or second response to indicate the valueof the interrogated single digit of its respective identificationnumber; (c) recording the value of each of the responses communicated instep (b); (d) signaling those objects which communicated the firstresponse with a first one of the predetermined commands to enter adeactivated state when both the first response and the second responsewere communicated in step (b); (e) recording via a buffer the sequenceof responses received for those objects placed in the deactivated statein step (d), wherein there are recorded incomplete identificationnumbers for the objects in the deactivated state and the objects in thedeactivated state will no longer respond until the step of activating isrepeated; (j) repeating steps (b), (c), (d) and (e) until a completeidentification number is obtained of at least one of the objects; (g)recording the complete identification number; (h) activating theplurality of objects; (i) transmitting one of the sequence of incompleteresponses which was recorded in step (e) but not yet transmitted in thisstep, to the plurality of objects; (j) signaling the objects withidentification sequences that do not begin with the sequence ofincomplete responses to enter the deactivated state, and (k) repeatingthe steps (b), (c), (d), (e), (f), (g), (h), (i) and (j) until all ofthe incomplete sequences which may have been recorded in step (e) havebeen transmitted in step (i), wherein a completion time for the methodis deterministic for a given number of objects, wherein at a subsequentpoint in time the method is repeated to identify one or more additionalobjects.
 2. The method of claim 1, wherein, if no object response isreceived in step (b), then the steps are alternatively terminating themethod, and the step of activating the plurality of objects is performedagain.
 3. The method of claim 1, wherein the step of recording thecomplete identification numbers, comprises the step of identifying morethan one identification number if multiple responses are detected by theinterrogation device upon interrogating the last digit of anidentification number, thereby eliminating the need to carry out steps(d) through (f) for the last digit.
 4. The method of claim 1, whereinthe identification numbers of the objects are obtained based on adepth-first tree traversal protocol.
 5. The method of claim 1, whereinthe communication channel comprises an RFID communication channel. 6.The method of claim 1, wherein the communication channel comprises awired communication channel.
 7. The method of claim 1, wherein a timerequired to obtain the identification numbers of the objects isdeterministic.
 8. The method of claim 1, wherein the objects compriseone or more items selected from the group consisting of clothing,luggage, furniture, computers, parcels, vehicles, warehouse inventory,components on an assembly line and documents.
 9. A method foridentifying one of a plurality of objects via interrogation over acommunication channel, wherein each object includes an identificationnumber having a plurality of digits, wherein each object has the abilityto communicate at least either first or second responses to indicate avalue of each of the digits contained in its respective identificationnumber and wherein each object is operative in response to a pluralityof predetermined commands each characterized by a predetermined signaltiming, the method comprising the steps of: (a) activating the pluralityof objects; (b) interrogating a single digit of the identificationnumber from each activated object, wherein each of the plurality ofobjects communicates either the first or second response to indicate thevalue of the interrogated single digit of its respective identificationnumber; (c) recording the value of each of the responses communicated instep (b); (d) signaling those objects which communicated the firstresponse with a first one of the predetermined commands to enter adeactivated state when both the first response and the second responsewere communicated in step (b); (e) recording via a buffer the sequenceof responses received for those objects placed in the deactivated statein step (d), wherein there are recorded incomplete identificationnumbers for the objects in the deactivated state and the objects in thedeactivated state will no longer respond until the step of activating isrepeated; and (f) repeating steps (b), (c), (d) and (e) until a completeidentification number is obtained of the one of the plurality ofobjects, wherein a completion time for the method is deterministic for agiven number of objects, wherein at a subsequent point in time themethod is repeated to identify one or more additional objects.
 10. Themethod of claim 9, wherein the identification number of the one of theplurality of objects is obtained based on a depth-first tree traversalprotocol.
 11. The method of claim 9, wherein the communication channelcomprises an RFID communication channel.
 12. The method of claim 9,wherein the communication channel comprises a wired communicationchannel.
 13. The method of claim 9, wherein a time required to obtainthe identification numbers of the one of the plurality of objects isdeterministic.
 14. The method of claim 9, wherein the one of theplurality of objects comprises an item selected from the groupconsisting of clothing, luggage, furniture, computers, parcels,vehicles, warehouse inventory, components on an assembly line anddocuments.
 15. A method for identifying one of a plurality of objectsvia interrogation over a radio frequency communication channel based ona depth-first tree traversal protocol, wherein each object includes anidentification number having a plurality of digits, wherein each objecthas the ability to communicate at least either first or second responsesto indicate a value of each of the digits contained in its respectiveidentification number and wherein each object is operative in responseto a plurality of predetermined commands each characterized by apredetermined signal timing, the method comprising the steps of: (a)activating the plurality of objects; (b) interrogating a single digit ofthe identification number from each activated object, wherein each ofthe plurality of objects communicates either the first or secondresponse to indicate the value of the interrogated single digit of itsrespective identification number; (c) recording the value of each of theresponses communicated in step (b); (d) signaling those objects whichcommunicated the first response with a first one of the predeterminedcommands to enter a deactivated state when both the first response andthe second response were communicated in step (b); (e) recording via abuffer the sequence of responses received for those objects placed inthe deactivated state in step (d), wherein there are recorded incompleteidentification numbers for the objects in the deactivated state and theobjects in the deactivated state will no longer respond until the stepof activating is repeated; and (f) repeating steps (b), (c), (d) and (e)until a complete identification number is obtained of the one of theplurality of objects, wherein the complete identification number isobtained on a depth-first tree traversal protocol, wherein a completiontime for the method is deterministic for a given number of objects,wherein at a subsequent point in time the method is repeated to identifyone or more additional objects.
 16. The method of claim 15, wherein eachof the objects includes a semiconductor die with receiving andtransmitting circuitry and an antenna bonded to the die, wherein thesemiconductor die and the antenna are surrounded by a protective film.17. The method of claim 15, wherein the communication channel comprisesan RFID communication channel.
 18. The method of claim 15, wherein thecommunication channel comprises a wired communication channel.
 19. Themethod of claim 15, wherein a time required to obtain the identificationnumbers of the objects is deterministic.
 20. The method of claim 15,wherein the objects comprise one or more items selected from the groupconsisting of clothing, luggage, furniture, computers, parcels,vehicles, warehouse inventory, components on an assembly line anddocuments.